Method, information service system and program for information encryption/decryption

ABSTRACT

With a portal server, a request for information from a terminal of a second user that is an agent for a first user is received, and an encrypted data directed to a terminal of the first user, stored in an encrypted-data memory unit, is re-encrypted using a re-encryption key for the second user, stored in a first encryption-key memory unit, arid is transmitted to the terminal of the second user, with the terminal of the second user, the re-encrypted data received is decrypted using an encryption key for the second user, stored in a second encryption-key memory unit, and time keys specified by the terminal of the first user, related to a time-period during which browsing of the information is permitted.

The present application, claims priority from Japanese application JP-2013-189996 filed on Sep. 13, 2013, the content of which is hereby incorporated by reference into this application.

BACKGROUND OF THE INVENTION

The present invention relates to a system for encrypting information, and decrypting the encrypted information.

Along with the development of information systems, it is becoming common for servers of a plurality of information providers who perform information providing services and terminals of a plurality of users who utilize information to be connected to each other via the Internet or the like so that respective users utilize various information providing services. Also, as the number of information providers who perform information providing services increases, it is becoming difficult for respective users themselves to find and manage information providing services that they desire and, therefore, information relaying service providers that are referred to as “portal sites”, who manage major and useful information providing services collectively and perform information relaying for users, are becoming necessary.

A presumed form of service is that an information provider transmits to an information relaying service provider data directed to a particular user, the information relaying service provider temporarily accumulates the transmitted data from the information provider directed to the user and the user acquires/browses based on his/her own request the information addressed to himself/herself that is temporarily accumulated by the information relaying service provider.

Also, in order to enhance user's convenience, a form of service, which is referred to as agent service, is also considered, with which a user grants another user agent authority and the user who is granted the agent authority can, on his/her behalf, acquire browse the data addressed and transmitted to the user who grants the agent authority.

When the service forms as described above are assumed and employed, a problem on security may be caused to occur. A role of the information relaying service provider is to temporarily store received data addressed to a user and to transmit based on a. request from the user; the relaying service provider should riot be able to browse the contents of the data. If the relaying service provider is able to browse the contents of the data, there exists a possibility that an information leakage unintended by the user is caused to occur by a fraudulent behavior of the information relaying service provider.

As a countermeasure against this information leakage, the use of such conventional technologies as the AES encryption makes it possible to conceal the data safely and efficiently; however, when encryption based on such conventional technologies is performed between the information provider and the user, new problems would be caused to occur with an assumption of the agent service.

Firstly, when a user passes his/her own encryption key to a different user to whom the user has granted agent authority, a problem arises that the different user becomes capable of decrypting all of the data other than the data for which agency has been intended.

Secondly, a method is also conceivable with which encrypted data which can be decrypted only by a different user who is granted agent authority is transmitted to the different user who is granted agent authority upon a separate request to the information provider. In this conceivable method, however, the information provider is additionally required to manage the agent and the encryption key corresponding to the agent, respectively, and to encrypt the data separately for the agent using the encryption key corresponding to the agent, thereby increasing the operation load imposed on the information provider.

As a conventional technology for solving the above-described problems, there has been known a method disclosed in WO 2012/147869, with which encrypted data is re-encrypted at the time of relaying information.

SUMMARY OF THE INVENTION

With the method disclosed in WO 2012/147869. however, to a different user to whom the user grants agent authority once, the agent browsing authority can be granted only for all the period including the past and the future. Also, although it is possible to grant agent authority only during a specific time-period by updating the encryption key and the re-encryption key for each time-period, the number of the encryption keys that the user, the agent, and the information provider should manage respectively, and the number of the re-encryption keys that the information relaying service provider should manage become enormous and a problem arises that the management and operation become complex.

It is an object of the present invention to provide a method, an information service system, and a program for information encryption decryption, which allow an agent of a user to browse user-dedicated information only during a certain time-period specified by the user while suppressing the number of the keys which should be managed.

One representative embodiment of the present invention is as follows. Namely the present invention provides a method of encrypting/decrypting information in an information service system where requested information is encrypted with an information providing server storing information in response to a request for information from any one of a plurality of user terminals, and it is transmitted to a user terminal of a source of information request via an information relay device. With the information relay device, a request for information from a terminal of a second user that is an agent for a first user is received, encrypted data of the information directed to a terminal of the first user is re-encrypted using a re-encryption key for the second user, where the encrypted data is stored in an encrypted-data memory unit and the re-encryption key is stored in a first encryption-key memory unit, and the re-encrypted data is transmitted to the terminal of the second user. Also, with the terminal of the second user, the re-encrypted data is received from the information relay device, and the re-encrypted data received is decrypted using an encryption key for the second user and time keys specified by the terminal of the first user, where the encryption key is stored in a second encryption-key memory unit and the time keys are related to a time-period during which browsing of the information is permitted.

Since the time keys allow an arbitrary user to specify to user's agent a time-period during which the user's agent is capable of browsing information directed to the user as the agent, the user's agent is capable of browsing the information directed to the user only during a certain time-period specified by the user while suppressing the number of the keys that should be managed.

Other objects, features, and advantages of the invention will become apparent from the following description of the embodiments of the invention taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram for exemplifying the schematic configuration of an information service system in a first embodiment;

FIG. 2 is a diagram for exemplifying the schematic configuration of an electronic computing device;

FIG. 3 is a sequence diagram for exemplifying processings of performing a principal-key registration request in the first embodiment;

FIG. 4 is a sequence diagram for exemplifying processings of transmitting encrypted data addressed to a principal in the first embodiment;

FIG. 5 is a sequence diagram for exemplifying processings of acquiring and browsing encrypted data addressed to a principal in the first embodiment;

FIG. 6 is a sequence diagram for exemplifying processings of performing an agent-key registration request in the first embodiment; and

FIG. 7 is a sequence diagram for exemplifying processings with which an agent acquires and browses encrypted data addressed to a source of agency in the first embodiment.

DETAILED DESCRIPTION OF THE EMBODIMENT

Hereinafter, an explanation will be given for an embodiment of the present invention while referring to the drawings in FIGS. 1 to 7.

FIG. 1 is a schematic diagram of an information service system, which is the first embodiment of the present invention. As illustrated, the information service system includes one or more user terminals 120 which are used by users, one or more information providing servers 140 which are used by information providers, and a portal server (an information relaying device) 100 which is used by an information relaying service provider; the user terminals 120, the information providing servers 140, and the portal server 100 are so designed as to be able to transmit/receive information to each other via a network 160. An information service system having a configuration like this is a system in which data encrypted by an information providing server 140 for a particular user terminal 120 is re-encrypted for the user terminal 120 for an agent designated by the user upon request from the user terminal 120 without being decrypted by the portal server 100 in the model where the portal server 100 which relays information exists between the plurality of information providing servers 140 and the plurality of user terminals 120 which acquire information.

Incidentally, with regard to the user terminals 120, it is assumed that a plurality of user terminals 120 such as a user terminal A (120-A), a user terminal B (120-B), and so on are connected because a plurality of users use respective user terminals.

Also, with regard to the information providing servers 140, it is assumed that a plurality of information providing servers such as an information providing server 1 (140-1), an information providing server 2 (140-2), and so on are connected, supposing that a plurality of information providers use respective information providing servers.

Next, an explanation will be given on outlines of functions of respective devices that constitute the system in FIG. 1.

Each of the information providing servers 140 includes a control unit 141, an encryption processing unit 142, a communication unit 143, an input/output unit 144, an encryption-key memory unit 151, and an information memory unit 152.

Data that are to be transmitted to user terminals 120 via the portal server 100 are stored in the information memory unit 152, and an encryption key for encrypting data to be transmitted is stored in the encryption-key memory unit 151.

The encryption processing unit 142 is equipped with functions regarding general encryption processings such as generation of the encryption key for encrypting data to be transmitted to user terminals 120 and generation of encrypted data by encrypting data stored in the information memory unit 152 with an encryption key stored in the encryption-key memory unit 151.

The communication unit 143 is equipped with functions regarding processings of transmitting/receiving information (such as encryption keys and encrypted data) via the network 160 to/from the user terminals 120 and the portal server 100.

The input/output unit 144 is equipped with functions such as receiving inputs from the information providers and displaying information to the information providers.

The control unit 141 is equipped with functions of controlling overall processings of the respective units included in each of the information providing servers 140. For example, overall processings are controlled such as reading out data to be encrypted from the information memory unit 152, reading out a specified encryption, key from the encryption-key memory unit 151, inputting the data to be encrypted and the encryption key into the encryption processing unit 142, generating encrypted data by performing encryption processings with the encryption processing unit 1.42, and transmitting the generated encrypted data to the portal server 100 via the network 160 with the communication unit 143.

The portal server 100 includes a control unit 101, an encryption processing unit 102, a communication unit 103, an input/output unit 104, an encryption-key memory unit 111, and an encrypted-data memory unit 112.

Encrypted data received from the information providing server 140 and data re-encrypted in the portal server 100 are stored in the encrypted-data memory unit 112, and an encryption key for re-encrypting in the portal server 100 and the like are stored in the encryption-key memory unit 111.

The encryption processing unit 102 is equipped with functions regarding general encryption processings such as generation of encryption keys to be transmitted to the user terminals 120 and generation of encrypted data by re-encrypting the data stored in the encrypted-data memory unit 112 with a re-encryption key stored in the encryption-key memory unit 111.

The communication unit 103 is equipped with functions regarding processings of transmitting/receiving information (such as encryption keys and encrypted data) via the network 160 to/from the user terminals 120 and the information providing servers 140.

The input/output unit 104 is equipped with functions such as receiving inputs from the information relaying service provider and displaying information to the information relaying service provider.

The control unit 101 is equipped with functions of controlling overall processings of the respective units included in the portal server 100. For example, overall processings are controlled such as reading out encrypted data from the encrypted-data memory unit 112, reading out a specified re-encryption key from the encryption-key memory unit 111, inputting the encrypted data and the re-encryption key into the encryption processing unit 102, generating encrypted data by performing re-encryption processings with the encryption processing unit 102, and storing the re-encrypted data in the encrypted-data memory unit 112.

Each of the user terminals 120 includes a control unit 121, an encryption processing unit 122, a communication unit 123, an input/output unit 124, an encryption-key memory unit 131, and an encrypted-data memory unit 132.

The encrypted data received from the portal server 100 and the like are stored in the encrypted-data memory unit 132, and an encryption key for decrypting the encrypted data in the user terminal 120 and the like are stored in the encryption-key memory unit 131.

The encryption processing unit 122 is equipped with functions regarding general encryption processings such as generation of the encryption key for decrypting the encrypted data in the user terminal 120, and decryption of the encrypted data stored in the encrypted-data memory unit 132 with the encryption key stored in the encryption-key memory unit 131.

The communication unit 123 is equipped with functions regarding processings of transmitting/receiving information (such as encryption keys and encrypted data) via the network 160 to/from the portal server 100 and the information providing servers 140,

The input/output unit 124 is equipped with functions such as receiving inputs from the users and displaying information to the users.

The control unit 121 is equipped with functions of controlling overall processings of the respective units included in each of the user terminals 120. For example, overall processings are controlled such as reading out encrypted data from the encrypted-data memory unit 132, reading out a specified encryption key from the encryption-key memory unit 131, inputting the encrypted data and the encryption key into the encryption processing unit 122 and decrypting the encrypted data by performing decryption processings with the encryption processing unit 122.

Incidentally, the respective devices of the user terminals 120, the portal server 100, and the information, providing servers 140, which are exemplified in FIG. 1, can be implemented with a general electronic computing device (a computer) 200 as illustrated in FIG. 2, for example, which includes a CPU 201, a memory 202, an external storage device 204 such as a hard disc drive, a communication device 203 for performing communication with other devices via the Internet or the network 160, an input device 205 such as a keyboard or a mouse, an output device 206 such as a display device or a printer, a read device 207 to read out information from a portable storage medium 208, and an internal communication line 209 for establishing connections among these respective devices.

As for the respective devices constituting each of the user terminals 120, for example, the encryption-key memory unit 131 and the encrypted-data memory unit 132 can be implemented in such a manner that the CPU 201 utilizes the memory 202 or the external storage device 204, the control unit 121 and the encryption processing unit 122 can be implemented in such a manner that a prescribed program stored in the external storage device 204 is loaded onto the memory 202 and executed by the CPU 201, the input/output unit 124 can be implemented in such a manner that the CPU 201 utilizes the input device 205 and the output device 206, and the communication unit 123 can be implemented in such a manner that the CPU 201 utilizes the communication device 203.

This prescribed program may be stored (downloaded) into the external storage device 204 from the storage medium 208 via the read device 207 or from the network 160 via the communication device 203 and, then, loaded onto the memory 202 so that it is executed by the CPU 201. Alternatively, it may be directly loaded onto the memory 202 from the storage medium 208 via the read device 207 or from the network 160 via the communication device 203 so that it is executed by the CPU 201.

Hereinafter, the explanation will be given with regard to a cryptographic scheme implemented in the encryption processing unit 122 of each of the user terminals 120, the encryption processing unit 102 of the portal server 100, and the encryption processing unit 142 of each of the information providing servers 140.

Here, an encrypted data obtained with an encryption operation f of the above-described cryptographic scheme on information M to be encrypted with an encryption key K is denoted as f (K, M) and a new encryption key generated by performing a certain operation to an encryption key K₁ and an encryption key K₂ is referred to as K₁ ·K₂. Besides, the encrypted data f(K, M) can be decrypted back to the information M using the encryption key K (or its inverse).

The first property of the above-described cryptographic scheme is that an encryption-key transformation operation U on a data f(K₂, M), which is obtained by encrypting information M with an encryption key K₂, using a re-encryption key K₁ can cause transformation into a data f(K₁·K₂, M), which is equivalent to encryption with the encryption key K₁·K₂. Namely,

U(K ₁ , f(K ₂ , M))=f(K ₁ ·K ₂ , M)   (Expression 1)

Utilizing the above-described first property, letting a re-encryption key generated with the certain operation “·” from the encryption key K₂ and an encryption key K₁ ⁻¹, which can be generated from the encryption key K₁ as its inverse, the following relationship holds:

U(K ₂ ·K ₁ ⁻¹ , f(K ₁ , M))=f(K ₂ ·K ₁ ⁻¹ ·K ₁ , M)=f(K ₂ , M).   (Expression 1-1)

Namely, using the re-encryption key K₂·K₁, the encrypted data f(K₁, M) encrypted with the encryption key K₁ can be transformed into the encrypted data f(K₂, M) encrypted with the encryption key K₂ without being decrypted.

The second property of the above-described cryptographic scheme is that f(K₁, f(K₂, M)) generated by re-encrypting f(K₂, M), which is an encrypted data of information M with an encryption key K₂, with an encryption key K₁, is equal to f(K₂, f(K₁, M)) generated by re-encrypting f(K₁, M), which is an encrypted data of the information M with the encryption key K₁, with the encryption key K₂; that is, the sequence of the encryptions possesses the commutative property:

f(K₁ , f(K ₂ , M))=f(K ₂ , f(K ₁ , M)).   (Expression 2)

The third property of the above-described cryptographic scheme is that the certain operation “·” between the encryption keys possesses the following commutative property:

K₁·K₂=K₂·K₁   (Expression 3)

Next, the explanation will be given regarding time keys T and S that possess a one-way property. In addition that the time keys possess the properties as encryption keys of the above-described cryptographic scheme, they are generated under the following constraint conditions.

An (i+1)-th time key T_(i+1) is generated as a result of applying the hash function H to an i-th time key T_(i). Namely, they satisfy the relationship of T_(i+1)=H(T_(i)). Thus, when only T_(p) is known, this relationship allows generation of T_(p+1), T_(p+2), and so on, whose subscripts are larger than p, by using the hash function sequentially, but the one-way property of the hash function prevents generation of T_(p−1), T_(p−2), and so on, whose subscripts are smaller than p.

An (i−1)-th time key S_(i−1) is generated as a result of applying the hash function H to an i-th time key S_(i). Namely, they satisfy the relationship of S_(i−1)=H(S_(i)), Thus, when only S_(q) is known, this relationship allows generation of S_(q−1), S_(q−2), and so on, whose subscripts are smaller than q, by using the hash function sequentially, but the one-way property of the hash function prevents generation of S_(q+1), S_(q+2), and so on, whose subscripts are larger than q.

FIG. 3 is a diagram for illustrating the sequence in which a user terminal 120 registers a re-encryption key for a principal into the portal server 100 in cooperation with an information providing server 140 in the present embodiment.

First, the user terminal A (120-A) transmits a registration, request of the re-encryption key for the principal to the portal server 100 with the communication unit 123 (S301); the portal, server 100 generates a single-use key K_(p) in the encryption processing unit 102, stores it in the encryption-key memory unit 111 (S302), and transmits the single-use key K_(p) to the user terminal A (120-A) with the communication unit 103 (S303).

Next, the user terminal A (120-A) generates a private key K_(a) as an encryption key for itself in the encryption, processing unit 122 and stores it in the encryption-key memory unit 131 (S304), generates a time key T₁ and a time key S_(N) (where N is an arbitrary positive integer) as encryption keys for time specification in the encryption processing unit 122, store them in the encryption-key memory unit 131 (S305), and generates a re-encryption key K_(p)·K_(a), which serves as a basis of a re-encryption key for the principal, in the encryption processing unit 122 (S306).

Next, the user terminal A (120-A) transmits to the information providing server 1 (140-1) the re-encryption key K_(p)·K_(a) generated at S306 and the time keys T₁ and S_(N) generated at S305 with the communication unit 123 (S307). Here, the re-encryption key K_(p)·K_(a) generated at S306 and the time keys T₁ and S_(N) generated at S305 are the data that must not be known to anybody other than the user terminal A (120-A) or the information providing server 1 (140-1); they need to be concealed from the other user terminals, the other information providing servers, and the portal server by using cryptographic communication such as the SSL.

Next, the information providing server 1 (140-1) stores in the encryption-key memory unit 151 the time keys T₁ and S_(N) which are received with the communication unit 143 (S308), generates a private key K_(1,a) directed to the user terminal A (120-A) in the encryption processing unit 142, stores it in the encryption-key memory unit 151 (S309), generates a re-encryption key K_(p)·K_(a)·K_(1,a) ⁻¹, which serves as a basis of a re-encryption key directed to the user terminal A (120-A), in the encryption processing unit 142 (S310), and transmits the re-encryption key K_(p)·K_(a)·K_(1,a) ⁻¹ generated at S310 to the portal server 100 with the communication unit 143 (S311).

Next, the portal server 100 generates a re-encryption key K_(a)·K_(1,a) ⁻¹ (=K_(p) ⁻¹·K_(p)·K_(a)·K_(1,a) ⁻¹) in the encryption processing unit 102 using the re-encryption key K_(p)·K_(a)·K_(1,a) ⁻¹ received in the communication unit 103 and the inverse K_(p) ⁻¹ of the encryption key K_(p) stored in the encryption-key memory unit 111 and stores in the encryption-key memory unit 111 (S312). Here, the encryption key K_(p) stored in the encryption-key memory unit 111 may be discarded because it is the single-use key for generating the re-encryption key.

Finally, the portal server 100 transmits a notification of completion of the request for registration of the key to the user terminal A (120-A) with the communication unit 103, and the communication unit 123 of the user terminal A (120-A) receives this notification, thereby terminating the processings (S313).

FIG. 4 is a diagram for illustrating the sequence in which the information providing server 140 encrypts information directed to a particular user terminal 120 and transmits to the portal server 100 in the present embodiment.

First, the information providing server 1 (140-1) generates information M_(1,a) that is to be addressed and transmitted to the user terminal A (120-A), stores it in the information memory unit 152 (S401), and generates a time key T_(i) and a time key S_(i) corresponding to the current time of transmission of the information using the time keys T₁ and S_(N) for the user-terminal-A (120-A), which are stored in the encryption-key memory unit 151 (S402).

Next, the information providing server 1 (140-1) generates in the encryption processing unit 142 an encrypted data f(K_(1,a)·T_(i)S_(i), M_(1,a)) by encrypting the information M_(1,a) addressed and transmitted to the user terminal A (120-A), which is stored in the information memory unit 152 with an encryption key K_(1,a)·T_(i)·S_(i) generated using the private key K_(1,a) for the user terminal A (120-A), which is stored in the encryption-key memory unit 151, and the time keys T_(i) and S_(i) generated at S402 (S403).

Next, the information providing server 1 (140-1) transmits the generated encrypted data f(K_(1,a)·T_(i)·S_(i), M_(1,a)) to the portal server 100 with the communication unit 143 (S404).

Next, the portal server 100 generates in the encryption processing unit 102 encrypted data f(K_(1,a)·T_(i)·S_(i), M_(1,a)) by re-encrypting the encrypted data f(K_(1,a)·T_(i)·S_(i), M_(1,a)) received with the communication unit 103 with the re-encryption key K_(a)·K_(1,a) ⁻¹ for the user terminal A (120-A), which is stored in the encryption-key memory unit 111 (S405). Here, the generation process of the encrypted data f(K_(1,a)·T_(i)·S_(i), M_(1,a)) is shown, as follows:

U(K _(a) ·K _(1,a) ⁻¹ , f(K _(1,a) ·T _(i) ·S _(i) , M _(1,a)))=f(K _(a) ·K _(1,a) ⁻¹ ·K _(1,a) ·T _(i) ·S _(i) , M _(1,a))=f(K _(a) ·T _(i) ·S _(i) , M _(1,a))

Finally, the portal server 100 stores in the encrypted-data memory unit 112 the encrypted data f(K_(1,a)·T_(i)·S_(i), M_(1,a)) generated at S405, thereby terminating the processings (S406).

FIG. 5 is a diagram for illustrating the sequence in which the user terminal A (120-A) acquires the encrypted data directed to the principal from the portal server 100, decrypts, and browses the decrypted information in the present embodiment.

First, the user terminal A (120-A) transmits a request for information directed to the principal to the portal server 100 with the communication unit 123 (S501); the portal server 100 reads out the encrypted data f(K_(1,a)·T_(i)·S_(i), M_(1,a)) stored in the encrypted-data memory unit 112 and transmits to the user terminal A (120-A) the read-out encrypted data f(K_(1,a)·T_(i)·S_(i), M_(1,a)) with the communication unit 103 (S502).

Next, the user terminal A (120-A) generates in the encryption processing unit 122 the time key T_(i) and the time key S_(i) using the time keys T₁ and S_(N) that are read out from the encryption-key memory unit 131 (S503).

Next, the user terminal A (120-A) generates in the encryption processing unit 122 the information M_(1,a) by decrypting the encrypted data f(K_(1,a)·T_(i)·S_(i), M_(1,a)) received at S502 with the inverse of the encryption key K_(a)·T_(i)·S_(i), which is generated using the private key Ka for the user (i.e., the principal), which is stored in the encryption-key memory unit 151, and the time keys T_(i) and S_(i) generated at S503 (S504).

Finally, the user browses the information M_(1,a) decrypted at S504, thereby terminating the processings (S505).

FIG. 6 is a diagram for illustrating the sequence in which a plurality of user terminals 120 register in the portal server 100 re-encryption keys for agents in the present embodiment.

First, the user terminal A (120-A) transmits a registration request of the re-encryption key for an agent to the portal server 100 with the communication unit 123 (S601), the portal server 100 generates a single-use key K_(p) in the encryption processing unit 102, stores it in the encryption-key memory unit 111 (S602), and transmits the single-use key K_(p) to the user terminal A(120-A) with the communication unit 103 (S603).

Next, the user terminal A (120-A) reads out the private key for itself K_(a) stored in the encryption-key memory unit 131 (S604), generates in the encryption processing unit 122 a time key T_(p) related to a start point of the time-period during which browsing is permitted and a time key S_(q) related to an end point of the time-period during which browsing is permitted from the time keys T₁ and S_(N) for time specification which are stored in the encryption-key memory unit 131 (S605), and generates a re-encryption key K_(p)·K_(a) ⁻¹, which serves as a basis of a re-encryption key for the agent, in the encryption processing unit 122 (S606). Here, p and q of the time keys are caused to satisfy the relationship of 1≦p≦q≦N.

Next, the user terminal A (120-A) transmits to the user Terminal B (120-B) that is specified as the agent, the re-encryption key K_(p)·K_(a) ⁻¹ generated at S606 and the time keys T_(p) and S_(q) generated at S605 with the communication unit 123 (S607). Here, the re-encryption key K_(p)·K_(a) ⁻¹ generated at S606 and the time keys T_(p) and S_(q) generated at S605 are the data that must not be known to anybody other than the user terminal A (120-A) or the user terminal B (120-B); they need to be concealed from the other user terminals, the other information providing servers, and the portal server by using cryptographic communication such as the SSL.

Next, the user terminal B (120-B) stores in the encryption-key memory unit 131 the time keys T_(p) and S_(q) which are received with the communication unit 123 (S608), generates a private key for an agent K′_(b,a) directed to the user terminal A (120-A) in the encryption processing unit 122, stores it in the encryption-key memory unit 131 (S609), generates a re-encryption key K′_(b,a)·K_(p)·K_(a) ⁻¹, which serves as a basis of a re-encryption key for an agent directed to the user terminal A (120-A), in the encryption processing unit 122 (8610), transmits the re-encryption key K′_(b,a)·K_(p)·K_(a) ⁻¹ generated at S610 to the portal server 100 with the communication unit 123 (S611).

Next, the portal server 100 generates a re-encryption key for an agent K′_(b,a)·K_(a) ⁻¹ (=K′_(b,a)·(K_(p) ⁻¹·K_(p))·K_(a) ⁻¹=K_(p) ⁻¹·K′_(b,a)·K_(p)·K_(a) ⁻¹) in the encryption processing unit 102 using the re-encryption K′_(b,a)·K_(p)·K_(a) ⁻¹ received with the communication unit 103 and the inverse K_(p) ⁻¹ of the encryption key K_(p) stored in the encryption-key memory unit 111 and stores m the encryption-key memory unit 111 (S612). Here, the encryption key K_(p) stored into the encryption-key memory unit 111 may he discarded because it is the single-use key for generating the re-encryption key.

Finally, the portal server 100 transmits a notification of completion of the request for registration of the re-encrypt ion key for an agent to the user terminal A (120-A) with the communication unit 103, and the communication unit 123 of the user terminal A (120-A) receives this notification, thereby terminating the processings (S613).

Incidentally, instead of the time key Sq transmitted to the user terminal B (120-B), generating a time key S_(q+j) (q≦q+j≦N) and retransmitting to the user terminal B (120-B) allows to extend the time-period during which the agent is capable of browsing.

FIG. 7 is a diagram for illustrating the sequence in which the user terminal 120 of the agent acquires the encrypted data directed to the agent from the portal server 100, decrypts, and browses the decrypted information in the present embodiment.

First, the user terminal B (120-B) as an agent transmits a request for information as an agent for the user terminal A (120-A) to the portal server 100 with the communication unit 123 (S701).

Next, the portal server 100 generates in the encryption processing unit 102 an encrypted data f(K′_(b,a)·T_(i)·S_(i), M_(1,a)) directed to the agent by re-encrypting the encrypted data f(K′_(b,a)·T_(i)·S_(i), M_(1,a)) stored in the encrypted-data memory unit 112 using the re-encryption key K′_(b,a)·K_(a) ⁻¹ for an agent of the user terminal B (120-B) stored in the encryption-key memory unit 111 (S702). Here, the generation process of the encrypted data f(K′_(b,a)·T_(i)·S_(i), M_(1,a)) is shown as follows:

U(K′ _(b,a) ·K _(a) ⁻¹ , f(K _(a) ·T _(i) ·S _(i) , M _(1,a)))=f(K′ _(b,a) ·K _(a) ⁻¹ ·K _(a) ·T _(i) ·S _(i) , M _(1,a))=f(K′ _(b,a) ·T _(i) ·S _(i) , M _(1,a))

Next, the portal server 100 transmits to the user terminal B (120-B) the encrypted data f(K′_(b,a)·T_(i)·S_(i), M_(1,a)) directed to the agent generated at S702 with the communication unit 103 (S703).

Next, the user terminal B (120-B) generates in the encryption processing unit 122 a time key T_(i) and a time key S_(i) using the time keys T_(p) and S_(q) that are read out from the encryption-key memory unit 131 (S704). Here, when p and q of the time keys specified from the user terminal A (120-A) and i satisfy p≦i≦q, both the time key T_(i) and the time key S_(i) can be generated; however, it is impossible to generate the time key T_(i) in the case of i<p and it is impossible to generate the time key S_(i) in the case of q<i. Accordingly, when p and q of the time keys specified from the user terminal A (120-A) do not satisfy the condition of p≦i≦q, the subsequent sequence cannot be executed and, consequently, the user terminal B (120-B) cannot decrypt and browse the encrypted data f(K′_(b,a)·T_(i)·S_(i), M_(1,a)) directed to the agent.

Next, the user terminal B (120-B) generates in the encryption processing unit 122 the information M_(1,a) by decrypting the encrypted data f(K′_(b,a)·T_(i)·S_(i), M_(1,a)) received at S703 with the inverse of K′_(b,a)·T_(i)·S_(i), which is generated using the private key K′_(b,a) for an agent, which is stored in the encryption-key memory unit 131, and the time keys T_(i) and S_(i) generated at S704 (S705).

Finally, by rendering the information M_(1,a) outputted to the output device 206, the user B as an agent browses the information M_(1,a) decrypted at S705, thereby terminating the processings (S706).

As an example of the methods for utilizing the time keys T and S, the explanation will be given below regarding a method of carrying out a control over browsing permission in months.

First of all, at S305, which is carried out in the user terminal A (120-A), the time keys T₁ and S₁₂ are generated and stored. Then, it becomes possible to generate T₂ to T₁₂ and S₁ to S₁₁ by sequentially applying a hash function H to the generated time keys T₁ and S₁₂; these time keys are associated with respective months of a certain year (e.g., T₁ and S₁ with January 2013, T₂ and S₂ with February 2013, and so on up to T₁₂ and S₁₂ with December 2013, respectively) for control.

Next, at S402, which is carried out in the information providing server 1 (140-1), the time key T_(i) and the time key S_(i) corresponding to the current date of transmission of information (e.g., the time key T₄ and the time key S₄ if the current date is April 2013) are generated, and, at S403, the encrypted data f(K_(1,a)·T₄·S₄, M_(1,a)) is generated using the generated time keys.

Next, at S605, which is carried out in the user terminal A (120-A), the time keys corresponding to a time-period during which browsing is permitted to an agent (e.g., the time key T₃ and the time key S₅ when browsing is permitted from March to May) are generated using the time key T₁ and the time key S₁₂ for time specification.

Finally, at S704, which is carried out in the user terminal B (120-B), since the time key T₃ and the time key S₅ generated at S605, which correspond to the time-period of permitted browsing (March to May in 2013) according to the present embodiment are stored, the time key T₄ and the time key S₄ can be generated using these time keys and decrypt and browse the encrypted data directed to an agent f(K′_(b,a)·T₄·S₄, M_(1,a)) corresponding to the current date of transmission of information (April 2013) can be decrypted and browsed. However, the encrypted data directed to an agent f(K′_(b,a)·T₈·S₈, M_(1,a)) corresponding to a date other than the time-period of permitted browsing (e.g., August 2013) cannot be browsed because the time key S₈ cannot be generated.

Incidentally, although the time key T and the time key S are caused to correspond to months in the above-described example, they may also be managed in a manner of being caused to correspond to whatever arranged in time sequence such as by days or by hours.

According to the present embodiment explained so far, because the time keys allow an arbitrary user to specify to an agent a time-period during which browsing of information directed to the user is permitted in his/her behalf, the agent for the user is capable of browsing the information directed to the user only during a certain time-period specified by the user, while suppressing the number of the keys to be managed.

The one embodiment of the present invention has been explained so far; the present invention is, however, not limited thereto, and various modifications are possible within the scope of not departing from its essence and spirit. 

1. A method of encrypting/decrypting information in an information service system where requested information is encrypted with an information providing server storing information in response to a request for information from any one of a plurality of user terminals and the requested information is transmitted to a user terminal of a source of information request via an information relay device, the method comprising the steps of: receiving with the information relay device a request for information from a terminal of a second user that is an agent for a first user; re-encrypting with the information relay device encrypted data of the information directed to a terminal of the first user using a re-encryption key for the second user, the encrypted data being stored in an encrypted-data memory unit, the re-encryption key being stored in a first encryption-key memory unit; transmitting with the information relay device the re-encrypted data to the terminal of the second user; receiving with the terminal of the second user the re-encrypted data from the information relay device, and decrypting with the terminal of the second user the re-encrypted data received, using an encryption key for the second user and time keys specified by the terminal of the first user, the encryption key being stored in a second encryption-key memory unit, the time keys being related to a time-period during which browsing of the information is permitted.
 2. The method of encrypting/decrypting information according to claim 1, wherein the re-encryption key for the second user is a prescribed calculation result from an inverse of an encryption key for the first user and the encryption key for the second user, the encryption key for the first user being generated with the terminal of the first user, the method, further comprising the steps of: generating with the information relay device the re-encrypted data by re-encrypting the encrypted data of the information using the encryption key for the second user without decrypting with the encryption key for the first user, the encrypted data of the information being able to be decrypted with the encryption key for the first user, the re-encrypted data being able to be decrypted using the encryption key for the second user; and transmitting with the information relay device the re-encrypted data generated, to the terminal of the second user.
 3. The method of encrypting/decrypting information according to claim 2, further comprising the steps of: receiving with the terminal of the second user the re-encrypted data from the information relay device; generating with the terminal of the second user a time key T_(i) (p≦i) from a time key T_(p) (p is an arbitrary positive integer satisfying 1≧p), related to a start point of the time-period during which browsing of the information is permitted and generated from a time key T₁ with the terminal of the first user using a hash function H possessing a one-way property; generating with the terminal of the second user a time key S_(i) (i≦q) from a time key S_(q) (q is an arbitrary positive integer satisfying q≧N), related to an end point of the time-period during which browsing of the information is permitted and generated from a time key S_(N) (N is an arbitrary positive integer) with the terminal of the first user using the hash function H; and decrypting with the terminal of the second user the re-encrypted data received, using a private key which is the encryption key for the second user, the time key T_(i), and the time key S_(i).
 4. The method of encrypting/decrypting information according to claim 3, further comprising the steps of: generating with the terminal of the first user the time key T_(p) from the time key T₁ in accordance with T_(i+1)=H(T_(i)) using the hash function H; generating with the terminal of the first user the time key S_(q) from the time key S_(N) in accordance with S_(i−1)=H(S_(i)) using the hash function H; and transmitting with the terminal of the first user the time key T_(p) generated above and the time key S_(q) generated above to the terminal of the second user.
 5. An information service system comprising: an information providing server which stores information and with which requested information is encrypted in response to a request for information from any one of a plurality of user terminals and transmitted to a user terminal of a source of information request via an information relay device; a terminal of a first user. a terminal of a second user which is an agent for the first user: and an information relay device which receives a request for information made from the terminal of the second user, re-encrypts encrypted data of the information directed to the terminal of the first user using a re-encryption key for the second user, and transmits the re-encrypted data to the terminal of the second user, the encrypted data being stored in an encrypted-data memory unit, the re-encryption key being stored in a first encryption-key memory unit, the terminal of the second user receiving the re-encrypted data from the information relay device, and decrypting the re-encrypted data received, using an encryption key for the second user and time keys specified by the terminal of the first user, the encryption key being stored in a second encryption-key memory unit, the time keys being related to a time-period during which browsing of the information is permitted.
 6. The information service system according to claim 5, wherein the re-encryption key for the second user is a prescribed calculation result from an inverse of an encryption key for the first user and the encryption key for the second user, the encryption key for the first user being generated with the terminal of the first user, wherein the information relay device generates the re-encrypted data by re-encrypting the encrypted data of the information using the encryption key for the second user without decrypting with the encryption key for the first user, and transmits the generated re-encrypted data to the terminal of the second user, the encrypted data of the information being able to be decrypted with the encryption key* for the first user, the re-encrypted data being able to be decrypted using the encryption key for the second user.
 7. The information service system according to claim 6, wherein the terminal of the second user receives the re-encrypted data from the information relay device, generates a time key T_(i) (p≦i) from a tune key T_(p) (p is an arbitrary positive integer satisfying 1≧p), related to a start point of the time-period during which browsing of the information is permitted and generated from a time key T₁ with the terminal of the first user using a hash function H possessing a one-way property, generates a time key S_(i) (i≦q) from a time key S_(q) (q is an arbitrary positive integer satisfying q≦N), related to an end point of the time-period during which browsing of the information is permitted and generated from a time key S_(N) (N is an arbitrary positive integer) with the terminal of the first user using the hash function H, and decrypts the re-encrypted data received, using a private key which is the encryption key for the second user, the time key T_(i), and the time key S_(i).
 8. The information service system according to claim 7, wherein the terminal of the first user generates the time key T_(p) from the time key T₁ in accordance with T_(i+1)=H(T_(i)) using the hash function H, generates the time key S_(q) from the time key S_(N) in accordance with S_(i+1)=H(S_(i)) using the hash function H, and transmits the time key T_(p) generated above and the time key S_(q) generated above to the terminal of the second user.
 9. A program for causing a computer to execute the method of encrypting/decrypting information according to claim
 1. 10. A program for causing a computer to execute the method of encrypting/decrypting information according to claim
 2. 11. A program for causing a computer to execute the method of encrypting/decrypting information according to claim
 3. 12. A program for causing a computer to execute the method of encrypting/decrypting information according to claim
 4. 